For example, moving objects such as automobiles are equipped with various electronic control units (ECUs) for controlling various types of devices. These ECUs are connected to, for example, a network such as a controller area network (CAN) to control the automobile while transmitting/receiving signals through the network.
In a network that electronic devices such as ECUs are connected to, ensuring the validity of communication is extremely important in order to prevent wrong control. In order to ensure the validity of communication, the use of encryption techniques is effective. For example, if electronic devices performing communication share data such as shared encryption keys correctly, this data can be used to authenticate communication, conceal contents of communication, and detect tampering.
Unfortunately, electronic devices mounted on moving objects such as automobiles, in particular, are often exposed to severe use environment, which may cause corruption of shared data such as encryption keys stored in the electronic devices. The corruption of the shared data stored in the electronic devices may make it impossible to ensure the validity of communication. It is therefore required to enable the shared data stored in electronic devices to be appropriately tested.